package com.cg.design.graphicdesignpattern.state;

/**
 * 表示金库状态，负责管理状态并于报警中心联系的接口
 *
 * @program: LeetCode->Context
 * @description: 表示金库状态，负责管理状态并于报警中心联系的接口
 * @author: cg
 * @create: 2022-04-03 11:37
 **/
public interface Context {
    /**
     * 设置时间的API
     *
     * @param hour
     */
    public abstract void setClock(int hour);

    /**
     * 改变状态的API
     *
     * @param state
     */
    public abstract void changeState(State state);

    /**
     * 联系报警中心的API
     *
     * @param msg
     */
    public abstract void callSecurityCenter(String msg);

    /**
     * 在报警中心留下记录的API
     *
     * @param msg
     */
    public abstract void recordLog(String msg);
}
